[INFO] fetching crate class_group 0.6.1...
[INFO] fixing class_group-0.6.1 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate class_group 0.6.1 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate class_group 0.6.1
[INFO] finished tweaking crates.io crate class_group 0.6.1
[INFO] tweaked toml for crates.io crate class_group 0.6.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate class_group 0.6.1 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 220 packages to latest compatible versions
[INFO] [stderr]       Adding bindgen v0.50.1 (available: v0.72.1)
[INFO] [stderr]       Adding curve25519-dalek v3.2.0 (available: v3.2.1)
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding hmac v0.11.0 (available: v0.13.0)
[INFO] [stderr]       Adding proptest v0.10.1 (available: v1.11.0)
[INFO] [stderr]       Adding sha2 v0.9.9 (available: v0.11.0)
[INFO] [stderr]       Adding subtle v2.4.1 (available: v2.6.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f476a0aef78047ea275a7d0768e2974a19519f35665fab116f0c24569c70d28c
[INFO] running `Command { std: "docker" "start" "f476a0aef78047ea275a7d0768e2974a19519f35665fab116f0c24569c70d28c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f476a0aef78047ea275a7d0768e2974a19519f35665fab116f0c24569c70d28c" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f476a0aef78047ea275a7d0768e2974a19519f35665fab116f0c24569c70d28c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f476a0aef78047ea275a7d0768e2974a19519f35665fab116f0c24569c70d28c" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   byteorder v1.5.0 (as host dependency) removed features: i128
[INFO] [stderr]   memchr v2.8.2 removed features: use_std
[INFO] [stderr]   serde v1.0.228 removed features: alloc
[INFO] [stderr]   serde_core v1.0.228 removed features: alloc
[INFO] [stderr]   syn v2.0.118 (as host dependency) removed features: visit-mut
[INFO] [stderr]   zerocopy v0.8.52 removed features: derive, zerocopy-derive
[INFO] [stderr] 
[INFO] [stderr] The following differences only apply when building with dev-dependencies:
[INFO] [stderr] 
[INFO] [stderr]   regex v1.12.4 removed features: default, perf, perf-backtrack, perf-cache, perf-dfa, perf-inline, perf-literal, perf-onepass, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
[INFO] [stderr]   regex-automata v0.4.14 removed features: dfa-onepass, hybrid, nfa-backtrack, perf-inline, perf-literal, perf-literal-multisubstring, perf-literal-substring, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment, unicode-word-boundary
[INFO] [stderr]   regex-syntax v0.8.11 removed features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
[INFO] [stderr] 
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]     Checking base64ct v1.8.3
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling clang-sys v0.28.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rustc-demangle v0.1.27
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.52
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking ff v0.12.1
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]     Checking base16ct v0.1.1
[INFO] [stderr]    Compiling nom v4.2.3
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]     Checking group v0.12.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling secp256k1-sys v0.4.2
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]     Checking byte-tools v0.3.1
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling bindgen v0.50.1
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]     Checking block-padding v0.2.1
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking block-padding v0.1.5
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]     Checking digest v0.8.1
[INFO] [stderr]     Checking signature v1.6.4
[INFO] [stderr]    Compiling cexpr v0.3.6
[INFO] [stderr]     Checking rand_xorshift v0.2.0
[INFO] [stderr]     Checking der v0.6.1
[INFO] [stderr]     Checking crypto-bigint v0.4.9
[INFO] [stderr]    Compiling gmp-mpfr-sys v1.7.1
[INFO] [stderr]    Compiling shlex v0.1.1
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]     Checking block-buffer v0.7.3
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]     Checking zerocopy v0.8.52
[INFO] [stderr]     Checking rfc6979 v0.3.1
[INFO] [stderr]     Checking crypto-mac v0.11.1
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]     Checking spki v0.6.0
[INFO] [stderr]     Checking opaque-debug v0.2.3
[INFO] [stderr]     Checking keccak v0.1.6
[INFO] [stderr]     Checking fake-simd v0.1.2
[INFO] [stderr]    Compiling addr2line v0.25.1
[INFO] [stderr]     Checking sha2 v0.8.2
[INFO] [stderr]     Checking sha3 v0.9.1
[INFO] [stderr]     Checking pkcs8 v0.9.0
[INFO] [stderr]     Checking hmac v0.11.0
[INFO] [stderr]     Checking secp256k1 v0.20.3
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking sec1 v0.3.0
[INFO] [stderr]     Checking curve25519-dalek v3.2.0
[INFO] [stderr]     Checking rust-gmp-kzen v0.5.1
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking elliptic-curve v0.12.3
[INFO] [stderr]     Checking merkle-cbt v0.3.2
[INFO] [stderr]    Compiling rug v1.30.0
[INFO] [stderr]     Checking cryptoxide v0.1.3
[INFO] [stderr]     Checking criterion-plot v0.8.2
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking ecdsa v0.14.8
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking az v1.3.0
[INFO] [stderr]    Compiling ff_derive-zeroize v0.6.2
[INFO] [stderr]     Checking p256 v0.11.1
[INFO] [stderr]     Checking ff-zeroize v0.6.3
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]     Checking pairing-plus v0.19.0
[INFO] [stderr]    Compiling env_logger v0.6.2
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling which v2.0.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking criterion v0.8.2
[INFO] [stderr]     Checking curv-kzen v0.10.0
[INFO] [stderr]     Checking proptest v0.10.1
[INFO] [stderr]    Compiling class_group v0.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating build.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating benches/vdf/class_group.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6m 19s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: cexpr v0.3.6, nom v4.2.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr] crater-edition-check: class_group v0.6.1 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling bindgen v0.50.1
[INFO] [stderr]    Compiling class_group v0.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.52
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]     Checking der v0.6.1
[INFO] [stderr]     Checking crypto-bigint v0.4.9
[INFO] [stderr]     Checking ff-zeroize v0.6.3
[INFO] [stderr]     Checking curve25519-dalek v3.2.0
[INFO] [stderr]     Checking pairing-plus v0.19.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking rfc6979 v0.3.1
[INFO] [stderr]     Checking spki v0.6.0
[INFO] [stderr]     Checking zerocopy v0.8.52
[INFO] [stderr]     Checking pkcs8 v0.9.0
[INFO] [stderr]     Checking sec1 v0.3.0
[INFO] [stderr]     Checking elliptic-curve v0.12.3
[INFO] [stderr]     Checking ecdsa v0.14.8
[INFO] [stderr]     Checking p256 v0.11.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking secp256k1 v0.20.3
[INFO] [stderr]     Checking rust-gmp-kzen v0.5.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking criterion v0.8.2
[INFO] [stderr]     Checking curv-kzen v0.10.0
[INFO] [stderr]     Checking proptest v0.10.1
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10m 02s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: cexpr v0.3.6, nom v4.2.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr] note: Switching to Edition 2021 will enable the use of the version 2 feature resolver in Cargo.
[INFO] [stderr] This may cause some dependencies to be built with fewer features enabled than previously.
[INFO] [stderr] More information about the resolver changes may be found at https://doc.rust-lang.org/nightly/edition-guide/rust-2021/default-cargo-resolver.html
[INFO] [stderr] When building the following dependencies, the given features will no longer be used:
[INFO] [stderr] 
[INFO] [stderr]   byteorder v1.5.0 (as host dependency) removed features: i128
[INFO] [stderr]   memchr v2.8.2 removed features: use_std
[INFO] [stderr]   serde v1.0.228 removed features: alloc
[INFO] [stderr]   serde_core v1.0.228 removed features: alloc
[INFO] [stderr]   syn v2.0.118 (as host dependency) removed features: visit-mut
[INFO] [stderr]   zerocopy v0.8.52 removed features: derive, zerocopy-derive
[INFO] [stderr] 
[INFO] [stderr] The following differences only apply when building with dev-dependencies:
[INFO] [stderr] 
[INFO] [stderr]   regex v1.12.4 removed features: default, perf, perf-backtrack, perf-cache, perf-dfa, perf-inline, perf-literal, perf-onepass, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
[INFO] [stderr]   regex-automata v0.4.14 removed features: dfa-onepass, hybrid, nfa-backtrack, perf-inline, perf-literal, perf-literal-multisubstring, perf-literal-substring, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment, unicode-word-boundary
[INFO] [stderr]   regex-syntax v0.8.11 removed features: default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
[INFO] [stderr] 
[INFO] [stderr]     Checking class_group v0.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/lib.rs (8 fixes)
[INFO] [stderr]        Fixed /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs (12 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/primitives/cl_dl_lcm.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let r = BigInt::sample_below(&(&pk.stilde * BigInt::from(2).pow(40)));
[INFO] [stdout]     |             -
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `r` calls a custom destructor
[INFO] [stdout]     |             `r` will be dropped later as of Edition 2024
[INFO] [stdout] 295 |         let exp_f = BinaryQF::expo_f(&pk.q, &pk.delta_q, m);
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `exp_f` calls a custom destructor
[INFO] [stdout]     |             `exp_f` will be dropped later as of Edition 2024
[INFO] [stdout] 296 |         let h_exp_r = pk.h.exp(&r);
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `h_exp_r` calls a custom destructor
[INFO] [stdout]     |             `h_exp_r` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 300 |             c2: h_exp_r.compose(&exp_f).reduce(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 303 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `r` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `exp_f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `h_exp_r` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/primitives/cl_dl_lcm.rs:313:17
[INFO] [stdout]     |
[INFO] [stdout] 308 |         let exp_f = BinaryQF::expo_f(&pk.q, &pk.delta_q, m);
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `exp_f` calls a custom destructor
[INFO] [stdout]     |             `exp_f` will be dropped later as of Edition 2024
[INFO] [stdout] 309 |         let h_exp_r = pk.h.exp(r);
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `h_exp_r` calls a custom destructor
[INFO] [stdout]     |             `h_exp_r` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 313 |             c2: h_exp_r.compose(&exp_f).reduce(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `exp_f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `h_exp_r` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/primitives/cl_dl_public_setup.rs:346:17
[INFO] [stdout]     |
[INFO] [stdout] 335 |     let (r, R) = group.keygen();
[INFO] [stdout]     |             -
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `R` calls a custom destructor
[INFO] [stdout]     |             `R` will be dropped later as of Edition 2024
[INFO] [stdout] 336 |     let exp_f = BinaryQF::expo_f(
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `exp_f` calls a custom destructor
[INFO] [stdout]     |         `exp_f` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |     let h_exp_r = public_key.0.exp(&r.0);
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `h_exp_r` calls a custom destructor
[INFO] [stdout]     |         `h_exp_r` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 346 |             c2: h_exp_r.compose(&exp_f).reduce(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 350 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `R` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `exp_f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `h_exp_r` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/primitives/cl_dl_public_setup.rs:368:13
[INFO] [stdout]     |
[INFO] [stdout] 359 |     let exp_f = BinaryQF::expo_f(
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `exp_f` calls a custom destructor
[INFO] [stdout]     |         `exp_f` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 364 |     let h_exp_r = public_key.0.exp(&r.0);
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `h_exp_r` calls a custom destructor
[INFO] [stdout]     |         `h_exp_r` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 368 |         c2: h_exp_r.compose(&exp_f).reduce(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 369 |     }
[INFO] [stdout] 370 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `exp_f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `h_exp_r` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/primitives/polynomial_comm.rs:544:5
[INFO] [stdout]     |
[INFO] [stdout] 524 |     let two = BigInt::from(2);
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `two` calls a custom destructor
[INFO] [stdout]     |         `two` will be dropped later as of Edition 2024
[INFO] [stdout] 525 |     let max = BigInt::from(20);
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `max` calls a custom destructor
[INFO] [stdout]     |         `max` will be dropped later as of Edition 2024
[INFO] [stdout] 526 |     let mut b = &two * BigInt::sample(disc.bit_length()) + BigInt::one();
[INFO] [stdout] 527 |     let mut c = two.clone();
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `c` calls a custom destructor
[INFO] [stdout]     |         `c` will be dropped later as of Edition 2024
[INFO] [stdout] 528 |     let mut b2_minus_disc: BigInt = b.pow(2) - disc;
[INFO] [stdout]     |         -----------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `b2_minus_disc` calls a custom destructor
[INFO] [stdout]     |         `b2_minus_disc` will be dropped later as of Edition 2024
[INFO] [stdout] 529 |     let four = BigInt::from(4);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `four` calls a custom destructor
[INFO] [stdout]     |         `four` will be dropped later as of Edition 2024
[INFO] [stdout] 530 |     let mut u = b2_minus_disc.div_floor(&four);
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `u` calls a custom destructor
[INFO] [stdout]     |         `u` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 538 |     let a_b_delta = ABDeltaTriple {
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `a_b_delta` calls a custom destructor
[INFO] [stdout]     |         `a_b_delta` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 544 |     BinaryQF::binary_quadratic_form_disc(&a_b_delta).reduce()
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 545 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `two` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `max` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `c` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `b2_minus_disc` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `four` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `u` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `a_b_delta` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/primitives/mod.rs:139:15
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let random = BigInt::sample_below(candidate);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `random` calls a custom destructor
[INFO] [stdout]     |         `random` will be dropped later as of Edition 2024
[INFO] [stdout] 137 |     let result = BigInt::mod_pow(&random, &(candidate - &BigInt::one()), candidate);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `result` calls a custom destructor
[INFO] [stdout]     |         `result` will be dropped later as of Edition 2024
[INFO] [stdout] 138 |
[INFO] [stdout] 139 |     result == BigInt::one()
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 140 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `random` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:103:27
[INFO] [stdout]     |
[INFO] [stdout]  97 |         let a_sub_b: BigInt = &self.a - &self.b;
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `a_sub_b` calls a custom destructor
[INFO] [stdout]     |             `a_sub_b` will be dropped later as of Edition 2024
[INFO] [stdout]  98 |         let s_f = a_sub_b.div_floor(&(BigInt::from(2) * &self.a));
[INFO] [stdout]     |             ---
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `s_f` calls a custom destructor
[INFO] [stdout]     |             `s_f` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 103 |             c: &self.a * &s_f.pow(2) + &self.b * &s_f + &self.c,
[INFO] [stdout]     |                           ^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 104 |         }
[INFO] [stdout] 105 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `a_sub_b` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `s_f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/primitives/cl_dl_lcm.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let r = BigInt::sample_below(&(&pk.stilde * BigInt::from(2).pow(40)));
[INFO] [stdout]     |             -
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `r` calls a custom destructor
[INFO] [stdout]     |             `r` will be dropped later as of Edition 2024
[INFO] [stdout] 295 |         let exp_f = BinaryQF::expo_f(&pk.q, &pk.delta_q, m);
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `exp_f` calls a custom destructor
[INFO] [stdout]     |             `exp_f` will be dropped later as of Edition 2024
[INFO] [stdout] 296 |         let h_exp_r = pk.h.exp(&r);
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `h_exp_r` calls a custom destructor
[INFO] [stdout]     |             `h_exp_r` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 300 |             c2: h_exp_r.compose(&exp_f).reduce(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 303 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `r` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `exp_f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `h_exp_r` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/primitives/cl_dl_lcm.rs:313:17
[INFO] [stdout]     |
[INFO] [stdout] 308 |         let exp_f = BinaryQF::expo_f(&pk.q, &pk.delta_q, m);
[INFO] [stdout]     |             -----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `exp_f` calls a custom destructor
[INFO] [stdout]     |             `exp_f` will be dropped later as of Edition 2024
[INFO] [stdout] 309 |         let h_exp_r = pk.h.exp(r);
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `h_exp_r` calls a custom destructor
[INFO] [stdout]     |             `h_exp_r` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 313 |             c2: h_exp_r.compose(&exp_f).reduce(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `exp_f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `h_exp_r` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/primitives/cl_dl_public_setup.rs:346:17
[INFO] [stdout]     |
[INFO] [stdout] 335 |     let (r, R) = group.keygen();
[INFO] [stdout]     |             -
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `R` calls a custom destructor
[INFO] [stdout]     |             `R` will be dropped later as of Edition 2024
[INFO] [stdout] 336 |     let exp_f = BinaryQF::expo_f(
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `exp_f` calls a custom destructor
[INFO] [stdout]     |         `exp_f` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 341 |     let h_exp_r = public_key.0.exp(&r.0);
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `h_exp_r` calls a custom destructor
[INFO] [stdout]     |         `h_exp_r` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 346 |             c2: h_exp_r.compose(&exp_f).reduce(),
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 350 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `R` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `exp_f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `h_exp_r` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/primitives/cl_dl_public_setup.rs:368:13
[INFO] [stdout]     |
[INFO] [stdout] 359 |     let exp_f = BinaryQF::expo_f(
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `exp_f` calls a custom destructor
[INFO] [stdout]     |         `exp_f` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 364 |     let h_exp_r = public_key.0.exp(&r.0);
[INFO] [stdout]     |         -------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `h_exp_r` calls a custom destructor
[INFO] [stdout]     |         `h_exp_r` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 368 |         c2: h_exp_r.compose(&exp_f).reduce(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 369 |     }
[INFO] [stdout] 370 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `exp_f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `h_exp_r` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/primitives/polynomial_comm.rs:544:5
[INFO] [stdout]     |
[INFO] [stdout] 524 |     let two = BigInt::from(2);
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `two` calls a custom destructor
[INFO] [stdout]     |         `two` will be dropped later as of Edition 2024
[INFO] [stdout] 525 |     let max = BigInt::from(20);
[INFO] [stdout]     |         ---
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `max` calls a custom destructor
[INFO] [stdout]     |         `max` will be dropped later as of Edition 2024
[INFO] [stdout] 526 |     let mut b = &two * BigInt::sample(disc.bit_length()) + BigInt::one();
[INFO] [stdout] 527 |     let mut c = two.clone();
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `c` calls a custom destructor
[INFO] [stdout]     |         `c` will be dropped later as of Edition 2024
[INFO] [stdout] 528 |     let mut b2_minus_disc: BigInt = b.pow(2) - disc;
[INFO] [stdout]     |         -----------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `b2_minus_disc` calls a custom destructor
[INFO] [stdout]     |         `b2_minus_disc` will be dropped later as of Edition 2024
[INFO] [stdout] 529 |     let four = BigInt::from(4);
[INFO] [stdout]     |         ----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `four` calls a custom destructor
[INFO] [stdout]     |         `four` will be dropped later as of Edition 2024
[INFO] [stdout] 530 |     let mut u = b2_minus_disc.div_floor(&four);
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `u` calls a custom destructor
[INFO] [stdout]     |         `u` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 538 |     let a_b_delta = ABDeltaTriple {
[INFO] [stdout]     |         ---------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `a_b_delta` calls a custom destructor
[INFO] [stdout]     |         `a_b_delta` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 544 |     BinaryQF::binary_quadratic_form_disc(&a_b_delta).reduce()
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 545 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `two` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `max` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `c` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `b2_minus_disc` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `four` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `u` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `a_b_delta` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/primitives/mod.rs:139:15
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let random = BigInt::sample_below(candidate);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `random` calls a custom destructor
[INFO] [stdout]     |         `random` will be dropped later as of Edition 2024
[INFO] [stdout] 137 |     let result = BigInt::mod_pow(&random, &(candidate - &BigInt::one()), candidate);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `result` calls a custom destructor
[INFO] [stdout]     |         `result` will be dropped later as of Edition 2024
[INFO] [stdout] 138 |
[INFO] [stdout] 139 |     result == BigInt::one()
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 140 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `random` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/lib.rs:103:27
[INFO] [stdout]     |
[INFO] [stdout]  97 |         let a_sub_b: BigInt = &self.a - &self.b;
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `a_sub_b` calls a custom destructor
[INFO] [stdout]     |             `a_sub_b` will be dropped later as of Edition 2024
[INFO] [stdout]  98 |         let s_f = a_sub_b.div_floor(&(BigInt::from(2) * &self.a));
[INFO] [stdout]     |             ---
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `s_f` calls a custom destructor
[INFO] [stdout]     |             `s_f` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 103 |             c: &self.a * &s_f.pow(2) + &self.b * &s_f + &self.c,
[INFO] [stdout]     |                           ^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 104 |         }
[INFO] [stdout] 105 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `a_sub_b` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `s_f` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rust-gmp-kzen-0.5.1/src/mpz.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for Mpz {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating benches/vdf/class_group.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10m 03s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: cexpr v0.3.6, nom v4.2.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr] crater-edition-check: class_group v0.6.1 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling class_group v0.6.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:109
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...: std :: os :: raw :: c_long ; extern "C" { pub fn nupow ( x : GEN , n : GEN , L : GEN ) -> GEN ; } extern "C" { pub fn primeform ...
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:178
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... ) -> GEN ; } extern "C" { pub fn primeform ( x : GEN , p : GEN , prec : :: std :: os :: raw :: c_long ) -> GEN ; } extern "C" { p...
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:280
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...os :: raw :: c_long ) -> GEN ; } extern "C" { pub fn qfbcompraw ( x : GEN , y : GEN ) -> GEN ; } extern "C" { pub fn qfi ( x : GEN...
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:344
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... x : GEN , y : GEN ) -> GEN ; } extern "C" { pub fn qfi ( x : GEN , y : GEN , z : GEN ) -> GEN ; } extern "C" { pub fn GENtostr ( ...
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:411
[INFO] [stdout]   |
[INFO] [stdout] 3 | ..., z : GEN ) -> GEN ; } extern "C" { pub fn GENtostr ( x : GEN ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gad...
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:495
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...t :: std :: os :: raw :: c_char ; } extern "C" { pub fn gadd ( x : GEN , y : GEN ) -> GEN ; } extern "C" { pub fn gneg ( x : GEN )...
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:553
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...fn gadd ( x : GEN , y : GEN ) -> GEN ; } extern "C" { pub fn gneg ( x : GEN ) -> GEN ; } extern "C" { pub fn compo ( x : GEN , n :...
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:601
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...( x : GEN ) -> GEN ; } extern "C" { pub fn compo ( x : GEN , n : :: std :: os :: raw :: c_long ) -> GEN ; } extern "C" { pub fn mk...
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:686
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... :: c_long ) -> GEN ; } extern "C" { pub fn mkintn ( n : :: std :: os :: raw :: c_long , ... ) -> GEN ; } extern "C" { pub fn pari...
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:768
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...c_long , ... ) -> GEN ; } extern "C" { pub fn pari_init ( parisize : usize , maxprime : pari_ulong ) ; } extern "C" { pub fn shift...
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:847
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...me : pari_ulong ) ; } extern "C" { pub fn shifti ( x : GEN , n : :: std :: os :: raw :: c_long ) -> GEN ; } extern "C" { pub fn is...
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:933
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...raw :: c_long ) -> GEN ; } extern "C" { pub fn isprime ( x : GEN ) -> :: std :: os :: raw :: c_long ; }
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:109
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...: std :: os :: raw :: c_long ; extern "C" { pub fn nupow ( x : GEN , n : GEN , L : GEN ) -> GEN ; } extern "C" { pub fn primeform ...
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:178
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... ) -> GEN ; } extern "C" { pub fn primeform ( x : GEN , p : GEN , prec : :: std :: os :: raw :: c_long ) -> GEN ; } extern "C" { p...
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:280
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...os :: raw :: c_long ) -> GEN ; } extern "C" { pub fn qfbcompraw ( x : GEN , y : GEN ) -> GEN ; } extern "C" { pub fn qfi ( x : GEN...
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:344
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... x : GEN , y : GEN ) -> GEN ; } extern "C" { pub fn qfi ( x : GEN , y : GEN , z : GEN ) -> GEN ; } extern "C" { pub fn GENtostr ( ...
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:411
[INFO] [stdout]   |
[INFO] [stdout] 3 | ..., z : GEN ) -> GEN ; } extern "C" { pub fn GENtostr ( x : GEN ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn gad...
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:495
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...t :: std :: os :: raw :: c_char ; } extern "C" { pub fn gadd ( x : GEN , y : GEN ) -> GEN ; } extern "C" { pub fn gneg ( x : GEN )...
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:553
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...fn gadd ( x : GEN , y : GEN ) -> GEN ; } extern "C" { pub fn gneg ( x : GEN ) -> GEN ; } extern "C" { pub fn compo ( x : GEN , n :...
[INFO] [stdout]   |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:601
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...( x : GEN ) -> GEN ; } extern "C" { pub fn compo ( x : GEN , n : :: std :: os :: raw :: c_long ) -> GEN ; } extern "C" { pub fn mk...
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:686
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... :: c_long ) -> GEN ; } extern "C" { pub fn mkintn ( n : :: std :: os :: raw :: c_long , ... ) -> GEN ; } extern "C" { pub fn pari...
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:768
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...c_long , ... ) -> GEN ; } extern "C" { pub fn pari_init ( parisize : usize , maxprime : pari_ulong ) ; } extern "C" { pub fn shift...
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:847
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...me : pari_ulong ) ; } extern "C" { pub fn shifti ( x : GEN , n : :: std :: os :: raw :: c_long ) -> GEN ; } extern "C" { pub fn is...
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: extern blocks must be unsafe
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/class_group-dcd732036a34902c/out/bindings.rs:3:933
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...raw :: c_long ) -> GEN ; } extern "C" { pub fn isprime ( x : GEN ) -> :: std :: os :: raw :: c_long ; }
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `class_group` (lib) due to 12 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `class_group` (lib test) due to 12 previous errors
[INFO] running `Command { std: "docker" "inspect" "f476a0aef78047ea275a7d0768e2974a19519f35665fab116f0c24569c70d28c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f476a0aef78047ea275a7d0768e2974a19519f35665fab116f0c24569c70d28c", kill_on_drop: false }`
[INFO] [stdout] f476a0aef78047ea275a7d0768e2974a19519f35665fab116f0c24569c70d28c
